Traceability in Agile Projects
نویسنده
چکیده
Agile methodologies represent a set of development processes in which both the requirements and the delivered solution evolve incrementally through a series of short iterations. Such projects are characterized by an emphasis on human interactions and collaborations, lightweight development processes, frequent deliverables, and minimal documentation (Ambler, 2004; Beck and Andres, 2004; Cockburn, 2000; Schwaber, 2004; Warden and Shore, 2007), Not surprisingly, traceability is generally perceived by agile developers as a heavy-weight and burdensome activity which returns little value to the project (Appleton, B. ACME Blog, 2005; Cleland-Huang 2006). On the other hand, agile practices are increasingly adopted in larger, distributed, and sometimes safety-critical projects, and it is often in these environments that the benefits of traceability outweigh its costs. For example, if agile methods are used to build a healthcare device, then the approval process for that device will require a demonstration that the device is safe. The Federal Drug Administration (FDA), which is responsible for approving such devices in the USA, specifically requires traceability between requirements, design, code, and test cases (USA Food and Drug Administration, 2005). For such projects, the burden is therefore placed on developers to create a project environment that establishes the necessary traceability relationships (Gotel and Finkelstein, 1994; Pinheiro FAC, 2003; Ramesh and Jarke, 2001). As explained in the chapter “Traceability Fundamentals” of this book, the traceability efforts for a project must be fit for purpose. This means that there is no “one-size-fits-all” option where traceability is concerned, and traceability decisions will vary widely across different kinds of agile projects. In this chapter we therefore explore the issues, challenges, and goals for tracing in an agile environment, and propose specific solutions that we believe balance the spirit of agility with the increasingly common challenges of scale, complexity, and compliance.
منابع مشابه
Traceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development
Requirements traceability, regardless of the process used to produce a software system, is an important quality attribute for the resulting software product. However, existing approaches to achieving requirements traceability have been specifically designed for traditional software development with formal requirements processes. With the wide industry adoption of agile development methodologies...
متن کاملUsing Reverse Semantic Traceability for Quality Control in Agile MSF- based Projects
Reverse Semantic Traceability (RST) is a quality control method that allows minimizing inconsistencies between inputs and outputs of every step in a software development process. For each step, before proceeding to the subsequent ones, the current inputs are restored (reverse engineered) from the current outputs, and compared to the original versions of inputs. If they are semantically differen...
متن کاملRequirements Engineering in Agile Software Development
Finding out, analyzing, documenting, and checking requirements are important activities in all development approaches, including agile development. This paper discusses problems concerned with the conduction of requirements engineering activities in agile software development processes and suggests some improvements to solve some challenges caused by agile requirements engineering practices in ...
متن کاملAgile Project Manager Competencies in Software Development Projects:A Systematic Literature Review
Managing a software development project is becoming more challenging due to the complexity of requirements and software development processes. This resulted in many software development projects could not be completed successfully. Therefore, to overcome this problem, a project manager who has the skills and knowledge is required. However, the problems can be reduced by adopting agile methodolo...
متن کاملAgileTool - Managing requirements in Agile WWW projects
Active user involvement and customer collaboration are essential yet hard to achieve in software development projects. Therefore, tools that effectively support communication and collaboration between customers and developers have a real need. In this paper we describe a requirements management tool, AgileTool, which effectively supports customer collaboration in agile web application developme...
متن کامل